From: Florian Müllner Date: Thu, 21 Jul 2016 20:42:19 +0000 (+0200) Subject: build: Say good-bye to intltool X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~769 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=795e7d4b591b129106ad812a908ec9e2a5cffc32;p=gnome-shell.git build: Say good-bye to intltool intltool is unmaintained nowadays while upstream gettext gained support for formats like GSettings schemas and .desktop files, and offers a mechanism to teach it about other XML formats not yet supported out of the box which we can use for the rest. So there's nothing stopping us, just make the switch ... https://bugzilla.gnome.org/show_bug.cgi?id=769074 --- diff --git a/.gitignore b/.gitignore index f39b4775c..5d72ddf04 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,6 @@ config.log config.status config configure -data/50-gnome-shell-*.xml data/org.gnome.Shell.desktop data/org.gnome.Shell.desktop.in data/gnome-shell-extension-prefs.desktop @@ -26,8 +25,6 @@ data/gschemas.compiled data/perf-background.xml data/org.gnome.shell.gschema.xml data/org.gnome.shell.gschema.valid -data/org.gnome.shell.evolution.calendar.gschema.xml -data/org.gnome.shell.evolution.calendar.gschema.valid data/org.gnome.Shell.PortalHelper.desktop data/org.gnome.Shell.PortalHelper.service data/theme/.sass-cache @@ -74,7 +71,6 @@ src/*-marshal.[ch] src/Makefile src/Makefile.in src/calendar-server/evolution-calendar.desktop -src/calendar-server/evolution-calendar.desktop.in src/calendar-server/org.gnome.Shell.CalendarServer.service src/gnome-shell src/gnome-shell-calendar-server diff --git a/configure.ac b/configure.ac index 4aecf263c..3c0258566 100644 --- a/configure.ac +++ b/configure.ac @@ -24,13 +24,14 @@ LT_PREREQ([2.2.6]) LT_INIT([disable-static]) # i18n -IT_PROG_INTLTOOL([0.40]) - GETTEXT_PACKAGE=gnome-shell AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The prefix for our gettext translation domains.]) +AM_GNU_GETTEXT_VERSION([0.19.6]) +AM_GNU_GETTEXT([external]) + PKG_PROG_PKG_CONFIG([0.22]) AC_PATH_PROG([XSLTPROC], [xsltproc]) @@ -254,7 +255,6 @@ AC_CONFIG_FILES([ docs/reference/st/Makefile docs/reference/st/st-docs.sgml js/Makefile - src/calendar-server/evolution-calendar.desktop.in src/Makefile src/gvc/Makefile browser-plugin/Makefile diff --git a/data/50-gnome-shell-system.xml b/data/50-gnome-shell-system.xml new file mode 100644 index 000000000..33e5ba532 --- /dev/null +++ b/data/50-gnome-shell-system.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + diff --git a/data/50-gnome-shell-system.xml.in b/data/50-gnome-shell-system.xml.in deleted file mode 100644 index dea69f03e..000000000 --- a/data/50-gnome-shell-system.xml.in +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/data/Makefile.am b/data/Makefile.am index 7b569b1b8..2eee47903 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -14,8 +14,9 @@ servicedir = $(datadir)/dbus-1/services service_DATA = org.gnome.Shell.PortalHelper.service CLEANFILES += \ - org.gnome.Shell.PortalHelper.service \ - org.gnome.Shell.PortalHelper.desktop \ + org.gnome.Shell.PortalHelper.service \ + org.gnome.Shell.PortalHelper.desktop \ + org.gnome.Shell.PortalHelper.desktop.in \ $(NULL) endif @@ -31,7 +32,9 @@ endif -e "s|@VERSION[@]|$(VERSION)|" \ $< > $@ || rm $@ -@INTLTOOL_DESKTOP_RULE@ +%.desktop:%.desktop.in + $(AM_V_GEN) $(MSGFMT) --desktop --template $(builddir)/$< \ + -d $(top_srcdir)/po -o $@ introspectiondir = $(datadir)/dbus-1/interfaces introspection_DATA = \ @@ -83,14 +86,11 @@ perf-background.xml: perf-background.xml.in $< > $@ || rm $@ keysdir = @GNOME_KEYBINDINGS_KEYSDIR@ -keys_in_files = 50-gnome-shell-system.xml.in -keys_DATA = $(keys_in_files:.xml.in=.xml) +keys_DATA = 50-gnome-shell-system.xml gsettings_SCHEMAS = org.gnome.shell.gschema.xml -@INTLTOOL_XML_NOMERGE_RULE@ - -%.gschema.xml.in: %.gschema.xml.in.in Makefile +%.gschema.xml: %.gschema.xml.in Makefile $(AM_V_GEN) sed -e 's|@GETTEXT_PACKAGE[@]|$(GETTEXT_PACKAGE)|g' \ $< > $@ || rm $@ @@ -113,12 +113,12 @@ EXTRA_DIST = \ $(introspection_DATA) \ $(menu_DATA) \ $(convert_DATA) \ - $(keys_in_files) \ + $(keys_DATA) \ $(dist_theme_files) \ perf-background.xml.in \ - org.gnome.Shell.PortalHelper.desktop.in \ + org.gnome.Shell.PortalHelper.desktop.in.in \ org.gnome.Shell.PortalHelper.service.in \ - org.gnome.shell.gschema.xml.in.in \ + org.gnome.shell.gschema.xml.in \ gnome-shell-theme.gresource.xml \ $(resource_files) \ $(NULL) @@ -127,11 +127,9 @@ CLEANFILES += \ org.gnome.Shell.desktop.in \ gnome-shell-extension-prefs.in \ $(desktop_DATA) \ - $(keys_DATA) \ $(gsettings_SCHEMAS) \ perf-background.xml \ gschemas.compiled \ org.gnome.shell.gschema.valid \ - org.gnome.shell.gschema.xml.in \ gnome-shell-theme.gresource \ $(NULL) diff --git a/data/gnome-shell-extension-prefs.desktop.in.in b/data/gnome-shell-extension-prefs.desktop.in.in index 9f8bbf405..d96292c30 100644 --- a/data/gnome-shell-extension-prefs.desktop.in.in +++ b/data/gnome-shell-extension-prefs.desktop.in.in @@ -1,7 +1,7 @@ [Desktop Entry] Type=Application -_Name=GNOME Shell Extension Preferences -_Comment=Configure GNOME Shell Extensions +Name=GNOME Shell Extension Preferences +Comment=Configure GNOME Shell Extensions Exec=@bindir@/gnome-shell-extension-prefs %u X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=gnome-shell diff --git a/data/org.gnome.Shell.PortalHelper.desktop.in b/data/org.gnome.Shell.PortalHelper.desktop.in deleted file mode 100644 index 8633067a4..000000000 --- a/data/org.gnome.Shell.PortalHelper.desktop.in +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -_Name=Network Login -Type=Application -Exec=gapplication launch org.gnome.Shell.PortalHelper -DBusActivatable=true -NoDisplay=true -Icon=network-workgroup -StartupNotify=true -OnlyShowIn=GNOME; diff --git a/data/org.gnome.Shell.PortalHelper.desktop.in.in b/data/org.gnome.Shell.PortalHelper.desktop.in.in new file mode 100644 index 000000000..eab88591a --- /dev/null +++ b/data/org.gnome.Shell.PortalHelper.desktop.in.in @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Network Login +Type=Application +Exec=gapplication launch org.gnome.Shell.PortalHelper +DBusActivatable=true +NoDisplay=true +Icon=network-workgroup +StartupNotify=true +OnlyShowIn=GNOME; diff --git a/data/org.gnome.Shell.desktop.in.in b/data/org.gnome.Shell.desktop.in.in index d3321b68e..09543e858 100644 --- a/data/org.gnome.Shell.desktop.in.in +++ b/data/org.gnome.Shell.desktop.in.in @@ -1,7 +1,7 @@ [Desktop Entry] Type=Application -_Name=GNOME Shell -_Comment=Window management and application launching +Name=GNOME Shell +Comment=Window management and application launching Exec=@bindir@/gnome-shell X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=gnome-shell diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in new file mode 100644 index 000000000..613c2784b --- /dev/null +++ b/data/org.gnome.shell.gschema.xml.in @@ -0,0 +1,228 @@ + + + + true + + Enable internal tools useful for developers and testers from Alt-F2 + + + Allows access to internal debugging and monitoring tools + using the Alt-F2 dialog. + + + + [] + UUIDs of extensions to enable + + GNOME Shell extensions have a UUID property; this key lists extensions + which should be loaded. Any extension that wants to be loaded needs + to be in this list. You can also manipulate this list with the + EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell. + + + + false + Disables the validation of extension version compatibility + + GNOME Shell will only load extensions that claim to support the current + running version. Enabling this option will disable this check and try to + load all extensions regardless of the versions they claim to support. + + + + [ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] + List of desktop file IDs for favorite applications + + The applications corresponding to these identifiers + will be displayed in the favorites area. + + + + 0 + App Picker View + + Index of the currently selected view in the application picker. + + + + [] + History for command (Alt-F2) dialog + + + [] + + History for the looking glass dialog + + + false + Always show the 'Log out' menu item in the user menu. + + This key overrides the automatic hiding of the 'Log out' + menu item in single-user, single-session situations. + + + + false + Whether to remember password for mounting encrypted or remote filesystems + + The shell will request a password when an encrypted device or a + remote filesystem is mounted. If the password can be saved for + future use a 'Remember Password' checkbox will be present. + This key sets the default state of the checkbox. + + + + false + Whether the default Bluetooth adapter had set up devices associated to it + + The shell will only show a Bluetooth menu item if a Bluetooth + adapter is powered, or if there were devices set up associated + with the default adapter. This will be reset if the default + adapter is ever seen not to have devices associated to it. + + + + + + + + + ["<Super>F10"] + Keybinding to open the application menu + + Keybinding to open the application menu. + + + + ["<Super>a"] + Keybinding to open the "Show Applications" view + + Keybinding to open the "Show Applications" view of the Activities + Overview. + + + + ["<Super>s"] + Keybinding to open the overview + + Keybinding to open the Activities Overview. + + + + ["<Super>v","<Super>m"] + Keybinding to toggle the visibility of the notification list + + Keybinding to toggle the visibility of the notification list. + + + + ["<Super>n"] + Keybinding to focus the active notification + + Keybinding to focus the active notification. + + + + [] + Keybinding that pauses and resumes all running tweens, for debugging purposes + + + + + + + 'touch' + Which keyboard to use + + The type of keyboard to use. + + + + + + + false + Limit switcher to current workspace. + + If true, only applications that have windows on the current workspace are shown in the switcher. + Otherwise, all applications are included. + + + + + + + + + + + + 'both' + The application icon mode. + + Configures how the windows are shown in the switcher. Valid possibilities + are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' + (shows only the application icon) or 'both'. + + + + true + Limit switcher to current workspace. + + If true, only windows from the current workspace are shown in the switcher. + Otherwise, all windows are included. + + + + + + + true + Attach modal dialog to the parent window + + This key overrides the key in org.gnome.mutter when running + GNOME Shell. + + + + + true + Enable edge tiling when dropping windows on screen edges + + This key overrides the key in org.gnome.mutter when running GNOME Shell. + + + + + true + Workspaces are managed dynamically + + This key overrides the key in org.gnome.mutter when running GNOME Shell. + + + + + true + Workspaces only on primary monitor + + This key overrides the key in org.gnome.mutter when running GNOME Shell. + + + + + true + Delay focus changes in mouse mode until the pointer stops moving + + This key overrides the key in org.gnome.mutter when running GNOME Shell. + + + + diff --git a/data/org.gnome.shell.gschema.xml.in.in b/data/org.gnome.shell.gschema.xml.in.in deleted file mode 100644 index d5cbb4bf4..000000000 --- a/data/org.gnome.shell.gschema.xml.in.in +++ /dev/null @@ -1,228 +0,0 @@ - - - - true - <_summary> - Enable internal tools useful for developers and testers from Alt-F2 - - <_description> - Allows access to internal debugging and monitoring tools - using the Alt-F2 dialog. - - - - [] - <_summary>UUIDs of extensions to enable - <_description> - GNOME Shell extensions have a UUID property; this key lists extensions - which should be loaded. Any extension that wants to be loaded needs - to be in this list. You can also manipulate this list with the - EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell. - - - - false - <_summary>Disables the validation of extension version compatibility - <_description> - GNOME Shell will only load extensions that claim to support the current - running version. Enabling this option will disable this check and try to - load all extensions regardless of the versions they claim to support. - - - - [ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] - <_summary>List of desktop file IDs for favorite applications - <_description> - The applications corresponding to these identifiers - will be displayed in the favorites area. - - - - 0 - <_summary>App Picker View - <_description> - Index of the currently selected view in the application picker. - - - - [] - <_summary>History for command (Alt-F2) dialog - - - [] - - <_summary>History for the looking glass dialog - - - false - <_summary>Always show the 'Log out' menu item in the user menu. - <_description> - This key overrides the automatic hiding of the 'Log out' - menu item in single-user, single-session situations. - - - - false - <_summary>Whether to remember password for mounting encrypted or remote filesystems - <_description> - The shell will request a password when an encrypted device or a - remote filesystem is mounted. If the password can be saved for - future use a 'Remember Password' checkbox will be present. - This key sets the default state of the checkbox. - - - - false - <_summary>Whether the default Bluetooth adapter had set up devices associated to it - <_description> - The shell will only show a Bluetooth menu item if a Bluetooth - adapter is powered, or if there were devices set up associated - with the default adapter. This will be reset if the default - adapter is ever seen not to have devices associated to it. - - - - - - - - - ["<Super>F10"] - <_summary>Keybinding to open the application menu - <_description> - Keybinding to open the application menu. - - - - ["<Super>a"] - <_summary>Keybinding to open the "Show Applications" view - <_description> - Keybinding to open the "Show Applications" view of the Activities - Overview. - - - - ["<Super>s"] - <_summary>Keybinding to open the overview - <_description> - Keybinding to open the Activities Overview. - - - - ["<Super>v","<Super>m"] - <_summary>Keybinding to toggle the visibility of the notification list - <_description> - Keybinding to toggle the visibility of the notification list. - - - - ["<Super>n"] - <_summary>Keybinding to focus the active notification - <_description> - Keybinding to focus the active notification. - - - - [] - <_summary>Keybinding that pauses and resumes all running tweens, for debugging purposes - <_description> - - - - - - 'touch' - <_summary>Which keyboard to use - <_description> - The type of keyboard to use. - - - - - - - false - <_summary>Limit switcher to current workspace. - <_description> - If true, only applications that have windows on the current workspace are shown in the switcher. - Otherwise, all applications are included. - - - - - - - - - - - - 'both' - <_summary>The application icon mode. - <_description> - Configures how the windows are shown in the switcher. Valid possibilities - are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' - (shows only the application icon) or 'both'. - - - - true - <_summary>Limit switcher to current workspace. - <_description> - If true, only windows from the current workspace are shown in the switcher. - Otherwise, all windows are included. - - - - - - - true - <_summary>Attach modal dialog to the parent window - <_description> - This key overrides the key in org.gnome.mutter when running - GNOME Shell. - - - - - true - <_summary>Enable edge tiling when dropping windows on screen edges - <_description> - This key overrides the key in org.gnome.mutter when running GNOME Shell. - - - - - true - <_summary>Workspaces are managed dynamically - <_description> - This key overrides the key in org.gnome.mutter when running GNOME Shell. - - - - - true - <_summary>Workspaces only on primary monitor - <_description> - This key overrides the key in org.gnome.mutter when running GNOME Shell. - - - - - true - <_summary>Delay focus changes in mouse mode until the pointer stops moving - <_description> - This key overrides the key in org.gnome.mutter when running GNOME Shell. - - - - diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 000000000..4481d3d54 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,68 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ \ + --keyword=C_:1c,2 --keyword=NC_:1c,2 \ + --keyword=g_dngettext:2,3 \ + --flag=g_dngettext:2:pass-c-format \ + --flag=g_strdup_printf:1:c-format \ + --flag=g_string_printf:2:c-format \ + --flag=g_string_append_printf:2:c-format \ + --flag=g_error_new:3:c-format \ + --flag=g_set_error:4:c-format \ + --flag=g_markup_printf_escaped:1:c-format \ + --flag=g_log:3:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_printf:1:c-format \ + --flag=g_fprintf:2:c-format \ + --flag=g_sprintf:2:c-format \ + --flag=g_snprintf:3:c-format + + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Translation copyright holder +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# Ignore the timestamp of the .pot file, as git clones do not have +# deterministic timestamps, and .po files are updated by translators +# (only) in GNOME projects. +PO_DEPENDS_ON_POT = no + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +DIST_DEPENDS_ON_UPDATE_PO = no diff --git a/po/POTFILES.in b/po/POTFILES.in index 6fc84391a..3f24e7d68 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,11 +1,10 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. -[encoding: UTF-8] -data/50-gnome-shell-system.xml.in +data/50-gnome-shell-system.xml data/gnome-shell-extension-prefs.desktop.in.in data/org.gnome.Shell.desktop.in.in -data/org.gnome.shell.gschema.xml.in.in -data/org.gnome.Shell.PortalHelper.desktop.in +data/org.gnome.shell.gschema.xml.in +data/org.gnome.Shell.PortalHelper.desktop.in.in js/extensionPrefs/main.js js/gdm/authPrompt.js js/gdm/loginDialog.js @@ -62,7 +61,7 @@ js/ui/viewSelector.js js/ui/windowAttentionHandler.js js/ui/windowManager.js js/ui/windowMenu.js -src/calendar-server/evolution-calendar.desktop.in.in +src/calendar-server/evolution-calendar.desktop.in # Please do not remove this file from POTFILES.in. Run "git submodule init && git submodule update" to get it. src/gvc/gvc-mixer-control.c src/main.c diff --git a/po/POTFILES.skip b/po/POTFILES.skip deleted file mode 100644 index 31998fe4c..000000000 --- a/po/POTFILES.skip +++ /dev/null @@ -1,4 +0,0 @@ -data/org.gnome.shell.evolution.calendar.gschema.xml.in -src/calendar-server/evolution-calendar.desktop.in -# Meh, autofools :-( -sub/src/calendar-server/evolution-calendar.desktop.in diff --git a/src/Makefile-calendar-server.am b/src/Makefile-calendar-server.am index 41dced6f0..9ec04eb07 100644 --- a/src/Makefile-calendar-server.am +++ b/src/Makefile-calendar-server.am @@ -12,7 +12,9 @@ desktopdir=$(datadir)/applications desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) desktop_in_files = calendar-server/evolution-calendar.desktop.in -@INTLTOOL_DESKTOP_RULE@ +%.desktop:%.desktop.in + @$(MKDIR_P) $(builddir)/calendar-server + $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ gnome_shell_calendar_server_CFLAGS = \ -I$(top_srcdir)/src \ @@ -30,6 +32,7 @@ gnome_shell_calendar_server_LDADD = \ EXTRA_DIST += \ calendar-server/README \ calendar-server/org.gnome.Shell.CalendarServer.service.in \ + $(desktop_in_files) \ $(NULL) CLEANFILES += \ diff --git a/src/calendar-server/evolution-calendar.desktop.in b/src/calendar-server/evolution-calendar.desktop.in new file mode 100644 index 000000000..6daf9ff0e --- /dev/null +++ b/src/calendar-server/evolution-calendar.desktop.in @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=Evolution Calendar +Exec=evolution -c calendar +Icon=evolution +NoDisplay=true +Type=Application +StartupNotify=true diff --git a/src/calendar-server/evolution-calendar.desktop.in.in b/src/calendar-server/evolution-calendar.desktop.in.in deleted file mode 100644 index 4ce0bda0a..000000000 --- a/src/calendar-server/evolution-calendar.desktop.in.in +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -_Name=Evolution Calendar -Exec=evolution -c calendar -Icon=evolution -NoDisplay=true -Type=Application -StartupNotify=true